This invention relates generally to the field of telephony and more specifically to a messaging interface that automatically provides a telephony service provider with detailed information about any selected line device.
With the advent of more sophisticated computer technology infrastructures, there has been a movement toward facilitating and implementing telephony functions on desktop computers. On desktop computers, telephony functions are provided by a desktop computer application, which communicates through a telephony line manager interface, which in turn, communicates with a telephony service provider that provides the telephony line. The telephony service provider communicates with the telephony equipment, such as a PBX, to provide the service. One example of a telephony service provider is the Mitel PBX TAPI Service Provider.
A telephony line is a line device with at least one address. POTS, or Plain Ordinary Telephone Sets, have only one address as their primary Directory Number (DN). Digital telephone sets also possess a primary DN; however, they can have other addresses that typically describe line appearances of other sets.
The Telephony Application Programming Interface (TAPI) specification of Microsoft(copyright) Windows(trademark) is an example of a telephony line manager interface that provides first party call control to applications on desktop computers. Through a telephony line manager interface, like TAPI, applications can make calls, be notified about calls, answer calls, hold calls, and perform other switch related functions as if the application were the end-point of the call.
Personal computer programs that offer Personal Information Management (PIM) like Microsoft""s Outlook, and Lotus Organizer, utilize the functions of a telephony service provider by means of the telephony line manager interface. The telephony service provider passes data through the telephony line manager, whose interface allows an application to present detailed call information on the user""s PC. Moreover, the telephony service provider enables the application software to initiate outgoing calls from the user""s PC with a simple click of the mouse. Thus, the personal computer application and telephony line manager interface are dependent on the services provided by the telephony service provider.
The telephony service provider can reside on the desktop PC and operate in a stand-alone mode by communicating directly to telephony equipment like a PBX. The stand-alone telephony service provider typically offers a personal computer application control over a single line or device, namely the PC user""s desktop telephone set. As an alternative, the telephony service provider can reside on a network-accessed server and provide a client/server mode of operation. The server-based telephony service provider typically controls many line devices on behalf of client computer applications.
Many stand-alone telephony service providers are unable to retrieve the detailed information about the line devices under their control from the telephony equipment they communicate with. In some implementations, the telephony service provider requires the PC user manually configure the details of the devices that it is allowed to control. Amongst the details is the list of Directory Numbers (DNs) that belong to the line device. There is no security to prevent the PC user from entering any DN. In many circumstances, the telephony equipment, such as a PBX, lacks the security to prevent the telephony service provider from controlling any specific line device. This implies that the user can select any telephone line to monitor and control, which poses a potential breach of security.
The issue of security is more acute for stand-alone telephony service providers than it is for server-based telephony service providers. A PC user typically has full administrative control over a stand-alone telephony service provider that resides on his or her own PC. A server-based telephony service provider is generally more secure because access to the server is typically limited to an authorized administrator by password control and possibly physical lock and key. A server administrator has the authorization and level of security to limit what line devices (and hence the list of DNs) a client application program can monitor and control.
Because the server-based telephony service provider has access to many line devices (telephone sets), an administrator is still required to manually configure the list of devices that each client computer is allowed to monitor and control. Aside from the requirement of manually configuring the primary DN that identifies each line device, the administrator may have the added burden of configuring all the detailed information for each line device. Additional Directory Numbers that represent addresses (or line appearances) would be amongst this additional detailed information required against each line device.
A mechanism is needed for a telephony service provider to acquire detailed information about a line device it can monitor and control from the telephony equipment. Such information provided to the telephony service provider should include a the list of Directory Numbers (DNs) supported by a line device, and optionally, other ancillary information. The telephony service provider should also be able to provide this information to a requesting application utilizing the services of the telephony service provider.
For a stand-alone telephony service provider controlling a PC user""s desktop telephone, this offers two benefits. First, it removes the PC user from the burden of configuring his telephony service provider with the details of his telephone set. And second, it improves security by limiting a PC user""s control to only his line device (or telephone set). There are also benefits a server-based telephony service provider controlling many line devices on behalf of client computers. Although a server administrator may still be required to configure the server-based telephony service provider with the list of line devices for each client computer, he does not have to configure the detailed information that describes each line device.
Telephony equipment, such as a PBX, typically holds a database with the detailed information about each line device. The telephony equipment uniquely distinguishes one line device (or telephone) from another by means of an identifier. Access to a line device""s information can be made by means the unique identifier. The hardware connection that links a stand-alone telephony service provider with the telephony equipment, such as a PBX, may be used as the unique identifier to uniquely identify the line device to be controlled. In a preferred embodiment, it is the hardware connection between the telephony equipment and the telephone set, to which the stand-alone telephony service provider is physically connected to, that is used for this unique identification. The unique identifier used to retrieve the detailed information about the line devices, such as a telephone set, on behalf of the telephony service provider. The list of DNs the telephony service provider is permitted to support is an example of the detailed information that can be provided to to the telephony service provider, and passed on to the application.
The hardware connection between the telephony equipment and a telephony service provider offers access to a plurality of line devices. The unique identifiers, that distinguish line devices on the telephony equipment, are stored in a database for access by the telephony service provider. A user, such as an administrator of the telephony equipment, or of a server based telephony service provider, configures these unique identifiers to define the collection of line devices to be associated with client computers. The telephony service provider uses these unique identifiers to acquire the detailed information of each line device from the telephony equipment, such as a PBX. The retrieved information determines which DNs (addresses or line appearances) a particular line device is permitted to monitor and control.
However, the present invention is not limited to retrieving line appearance information. The present invention could be used to retrieve other information based upon identifiers such as IP addresses, MAC addresses, trunk ids, or any other identifier used to identify devices in the environment.
Therefore, according to one aspect of the present invention, there is a system for providing a secure interface to telephony equipment, such as a PBX system, comprising:
(a) A PBX having a command executor;
(b) A plurality of telephony devices connected to the PBX;
(c) One or more programmable computing devices connected to the PBX;
wherein each programmable computing device has a telephony service provider component which communicates with the PBX command executor through a PBX command interface resident on the programmable computing device, to request and obtain detailed information corresponding to a set of the telephony devices which are permitted to be monitored or controlled by the programmable computing device.
Furthermore, according to another aspect of the present invention, there is provided a method for providing a secure interface to a PBX system comprising:
(a) sending a request for monitorable line appearances from a telephony service provider of a programmable computing device to a PBX;
(b) the PBX sending a list of monitorable line appearances in response to the request to the programmable computing device.